API - Webshop

Verzameling van veel voorkomende aanroepen gebruikt voor een webshop koppeling.

Onderstaande aanroepen zijn voorbeelden van waaruit verder ontwikkeld kan worden. De inrichting van de MKG omgeving kan aanpassingen aan de aanroepen vereisen.

 

Voor informatie over endpoints, velden en acties zie onze Data Dictionary.

 

Voor voorbeelden van API aanroepen zie onze Postman API collectie.

 

Artikelen ophalen

Voorbeeld van een aanroep die alle actieve artikelen van een specifieke administratie en artikelgroep teruggeeft die niet geblokkeerd zijn voor verkoop.
Hierbij gebruik makend van paginasering.

Aanname bij deze aanroep is dat de artikelgroep bepaald of een artikel getoond mag worden binnen de webshop.

GET {{restUrl}}/Documents/arti?Filter=admi_num = {{admi_num}} AND arti_actief = true AND arti_blok_verkoop = false AND artg_num = {{artg_num}}&NumRows=100&SkipRows=0&FieldList=arti_code,arti_oms_1,arti_oms_2,arti_oms_3,arti_eenh_vrd&Sort=arti_code

 

Artikel voorraad ophalen

Voorbeeld van een aanroep die voor een specifiek artikel de actuele voorraad stand teruggeeft.

GET{{restUrl}}/Documents/arti/{{admi_num}}+{{arti_num}}?FieldList=arti_code,t_vrd_fys_vrij

 

Relatie en debiteur aanmaken

Aanname is dat bestaande debiteuren reeds in de webshop bekend zijn. 

Om een debiteur aan te kunnen maken dient er eerst een relatie met een adres en een contactpersoon aangemaakt te worden.
Daarna kan voor deze relatie ook een debiteur aangemaakt worden.

Goed om te weten: Relaties zijn administratie overstijgend, debiteuren zijn administratie afhankelijk.

Relatie (rela)

|- Adressen (adrs)

|- Contactpersonen (cprs)

|- Debiteuren (debi)

 

Voorbeeld van een aanroep om een nieuwe relatie aan te maken.

POST {{restUrl}}/Documents/rela/
Body:

{
    "request": {
        "InputData": {
            "rela": [
                {

                    "rela_actief": true,
                    "rela_naam": "Relation name",
                    "rela_telefoon": "Relation telephone number",
                    "rela_email": "Relation e-mail address",
                    "rela_www": "Relation website"
                }
            ]
        }
    }
}

 

Voorbeeld van een aanroep om een adres aan de relatie toe te voegen.

POST {{restUrl}}/Documents/rela/{{rela_num}}/rela_adrs/
Body:

{
    "request": {
        "InputData": {
            "adrs": [
                {
                    "adrs_actief": true,
                    "adrs_straat": "Street name",
                    "adrs_nummer": 99, 
                    "adrs_postcode": "ZIP code",
                    "adrs_plaats": "City",
                    "land_code": {{land_code}},
                    "adrs_vrk_offerte": true,
                    "adrs_vrk_order": true,
                    "adrs_vrk_pakbon": true,
                    "adrs_vrk_factuur": true
               }
            ]
        }
    }
}

 

Voorbeeld van een aanroep om een contactpersoon aan de relatie toe te voegen.

POST {{restUrl}}/Documents/rela/{{rela_num}}/rela_cprs/
Body:

{
    "request": {
        "InputData": {
            "cprs": [
                {
                    "cprs_actief": true,
                    "cprs_voorletters": "F.",
                    "cprs_voornaam": "Firstname", 
                    "cprs_tussenvoegsel": "Prepos",
                    "cprs_naam": "Lastname",
                    "cprs_vrk_offerte": true,
                    "cprs_vrk_order": true,
                    "cprs_vrk_pakbon": true,
                    "cprs_vrk_factuur": true
                }
            ]
        }
    }
}

 

Voorbeeld van een aanroep om een debiteur aan de relatie toe te voegen.

POST {{restUrl}}/Documents/debi/
Body:

{
    "request": {
        "InputData": {
            "debi": [
                {
                    "rela_num": {{rela_num}},
                    "debi_actief": true,
                    "debi_email": "billing email address",
                    "debi_btw_num": "VAT number"
                }
            ]
        }
    }
}

Verkooporder aanmaken

Een verkooporder bestaat uit een header en regel(s). 

Voorbeeld van een aanroep om een verkooporder header aan te maken.

POST{{restUrl}}/Documents/vorh/
Body:

{
    "request": {
        "InputData": {
            "vorh": [
                {
                    "admi_num": {{admi_num}},
                    "debi_num": {{debi_num}},
                    "vorh_ref_onze": "Our reference",
                    "vorh_ref_uw": "Customer reference",
                    "vorh_bestelcode_extern": "Customer order code"
                }
            ]
        }
    }
}



Voorbeeld van een aanroep om een verkooporder regel aan te maken.
POST  {{restUrl}}/Documents/vorh/{{admi_num}}+{{vorh_num}}/vorh_vorr/
Body:

{
    "request": {
        "InputData": {
            "vorr": [
                {
                    "vorr_oms_1": "Sales order line",
                    "vorr_order_aantal": 100,
                    "vorr_eenh_order": "st."
                }
            ]
        }
    }
}

 

Een termijnplan kan gebruikt worden om een (termijn)factuur aan te maken voor de daadwerkelijke levering.
Dit gaat op basis van voor gedefinieerde termijnplannen in MKG waar het aantal termijnen en de verdeling bekend is.
Per verkooporder kan er maar één termijnplan gekoppeld zijn.

Voorbeeld van een aanroep om voor meerdere verkooporderregels van een verkooporder een termijnplan aan te maken:
PUT  {{restUrl}}/Documents/vorh/{{admi_num}}+{{vorh_num}}/Service/s_term_plan?DialogResult=1

Body:

{
    "request": {
        "InputData": {
            "vorh": [
                {
                    "admi_num": {{admi_num}},                       // Administration number
                    "vorh_num": {{vorh_num}},                       // Sales order number
                    "t_tmph": {{tmph_num}},                         // Choice which term plan
                    "t_vorr_list": "{{vorr_num}},{{vorr_num}}",     // Selecting sales order lines for the purpose of the term plan. So to which the term plan should apply
                    "t_tmph_datum": "yyyy-mm-dd",                   // First expiry date. Optional
                    "t_tmph_ingave": "2000.00",                     // Entry amount
                    "RowKey": 1                                     // Required to include
                }
            ]
        }
    }
}